﻿namespace Pub.Class
{
    using System;
    using System.Security.Cryptography;
    using System.Text;

    public interface ISymmetryCryptor
    {
        byte[] DecryptStream(byte[] bytesEncoded, string key);
        byte[] DecryptStream(byte[] bytesEncoded, int offset, int toDecrpyLen, string key);
        string DecryptString(string strEncoded, string key);
        byte[] EncryptStream(byte[] source, string key);
        byte[] EncryptStream(byte[] source, int offset, int toEncrpyLen, string key);
        string EncryptString(string source, string key);
        void Initialize(CipherMode mode);

        System.Text.Encoding Encoding { get; set; }

        Pub.Class.SymmetricAlgorithmType SymmetricAlgorithmType { get; set; }
    }
}

